package nl.uva.science.pico.picolanguage.types;

abstract public class EXP extends nl.uva.science.pico.picolanguage.AbstractType {
  public EXP(nl.uva.science.pico.picolanguage.Factory factory, aterm.ATermList annos, aterm.AFun fun, aterm.ATerm[] args) {
     super(factory, annos, fun, args);
  }

  public boolean isEqual(EXP peer) {
    return super.isEqual(peer);
  }

  public boolean isSortEXP()  {
    return true;
  }

  public boolean isVariable() {
    return false;
  }

  public boolean isNumberValue() {
    return false;
  }

  public boolean isStringValue() {
    return false;
  }

  public boolean isAdd() {
    return false;
  }

  public boolean isSubtract() {
    return false;
  }

  public boolean isConcatenate() {
    return false;
  }

  public boolean isBracket() {
    return false;
  }

  public boolean hasVariableName() {
    return false;
  }

  public boolean hasNumberValue() {
    return false;
  }

  public boolean hasStringValue() {
    return false;
  }

  public boolean hasLeft() {
    return false;
  }

  public boolean hasRight() {
    return false;
  }

  public boolean hasExpression() {
    return false;
  }

  public nl.uva.science.pico.picolanguage.types.PICOID getVariableName() {
     throw new UnsupportedOperationException("This EXP has no VariableName");
  }

  public EXP setVariableName(nl.uva.science.pico.picolanguage.types.PICOID _variableName) {
     throw new IllegalArgumentException("Illegal argument: " + _variableName);
  }

  public int getNumberValue() {
     throw new UnsupportedOperationException("This EXP has no NumberValue");
  }

  public EXP setNumberValue(int _numberValue) {
     throw new IllegalArgumentException("Illegal argument: " + _numberValue);
  }

  public String getStringValue() {
     throw new UnsupportedOperationException("This EXP has no StringValue");
  }

  public EXP setStringValue(String _stringValue) {
     throw new IllegalArgumentException("Illegal argument: " + _stringValue);
  }

  public nl.uva.science.pico.picolanguage.types.EXP getLeft() {
     throw new UnsupportedOperationException("This EXP has no Left");
  }

  public EXP setLeft(nl.uva.science.pico.picolanguage.types.EXP _left) {
     throw new IllegalArgumentException("Illegal argument: " + _left);
  }

  public nl.uva.science.pico.picolanguage.types.EXP getRight() {
     throw new UnsupportedOperationException("This EXP has no Right");
  }

  public EXP setRight(nl.uva.science.pico.picolanguage.types.EXP _right) {
     throw new IllegalArgumentException("Illegal argument: " + _right);
  }

  public nl.uva.science.pico.picolanguage.types.EXP getExpression() {
     throw new UnsupportedOperationException("This EXP has no Expression");
  }

  public EXP setExpression(nl.uva.science.pico.picolanguage.types.EXP _expression) {
     throw new IllegalArgumentException("Illegal argument: " + _expression);
  }

}

